package de.fmaul.dicheck.assertions;

import de.fmaul.dicheck.model.DataRow;
import de.fmaul.dicheck.model.DataSet;
import de.fmaul.dicheck.model.DataTableMetaData;
import de.fmaul.dicheck.model.TestCase;
import de.fmaul.dicheck.runner.TestResult;

public interface Assertion {
    public void preTest(TestCase testCase, TestResult testResult);

    public void checkRow(TestCase testCase, TestResult testResult, DataRow row);

    public void checkMetaData(TestCase testCase, TestResult testResul,
            DataTableMetaData metaData);

    public void checkDataSet(TestCase testCase, TestResult testResult,
            DataSet dataset);

    public void postTest(TestCase testCase, TestResult testResult);
}
